package com.intelligent.system.auth.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

@Data
@ApiModel(description = "机构（单位）信息")
public class OrganizationDTO implements Serializable {

    @ApiModelProperty(value = "机构ID", example = "1")
    private Long orgId;

    @ApiModelProperty(value = "机构名称", example = "大渡口支队")
    private String orgName;

    @ApiModelProperty(value = "机构简称", example = "大渡口")
    private String orgShortName;

    @ApiModelProperty(value = "机构全称", example = "大渡口区消防救援支队")
    private String orgFullName;

    @ApiModelProperty(value = "机构地址", example = "重庆市大渡口区大渡口区/桥镇新华村锦霞路119号")
    private String address;

    @ApiModelProperty(value = "机构类型", example = "消防救援局")
    private String orgType;

    @ApiModelProperty(value = "机构code", example = "50005000")
    private String orgCode;

    @ApiModelProperty(value = "愉快政code", example = "50005000")
    private String ykzOrgCode;

    @ApiModelProperty(value = "osm机构编码", example = "50005000")
    private String osmOrgCode;

    @ApiModelProperty(value = "机构父code", example = "50000000")
    private String parentOrgCode;

    @ApiModelProperty(value = "排序", example = "1")
    private Integer orderNum;

    @ApiModelProperty(value = "机构特性", example = "三类机构")
    private String orgFeature;

    @ApiModelProperty(value = "机构人数", example = "50")
    private Integer personCount;

    @ApiModelProperty(value = "机构存数", example = "2368909119")
    private String storageCount;

    @ApiModelProperty(value = "机构传值", example = "2368909119")
    private String transferValue;

    @ApiModelProperty(value = "机构舰艇")
    private String orgShip;

    @ApiModelProperty(value = "机构舰艇数")
    private Integer orgShipCount;

    @ApiModelProperty(value = "机构尺寸")
    private String orgSize;

    @ApiModelProperty(value = "机构邮箱")
    private String orgEmail;

    @ApiModelProperty(value = "经度", example = "106.4704634")
    private Double longitude;

    @ApiModelProperty(value = "纬度", example = "29.4710095")
    private Double latitude;

    @ApiModelProperty(value = "成立日期", example = "2023-01-01")
    private LocalDate establishDate;

    @ApiModelProperty(value = "是否执勤", example = "true")
    private Boolean onDuty;

    @ApiModelProperty(value = "管理机构", example = "重庆总队")
    private String manageOrg;

    @ApiModelProperty(value = "所属辖区", example = "大渡口区")
    private String jurisdiction;

    @ApiModelProperty(value = "联系人列表")
    private List<ContactDTO> contacts;

    @ApiModelProperty(value = "单位电话")
    private String orgPhone;

    @ApiModelProperty(value = "值班固话")
    private String dutyFixedPhone;

    @ApiModelProperty(value = "值班手机")
    private String dutyMobile;
}